/**
 * @file studentAI.js
 * @description 学生AI助教相关API请求
 * @created 2024-06-21
 */

import request from '@/utils/request'

export const studentAIAPI = {
  /**
   * 获取可用的AI助教列表
   * @param {string} courseId - 课程ID
   * @returns {Promise} 返回AI助教列表
   */
  getAvailableAIAssistants(courseId) {
    return request.get('/student/ai/assistants', {
      params: { courseId }
    })
  },

  /**
   * 向AI助教提问
   * @param {string} assistantId - 助教ID
   * @param {Object} questionData - 问题内容
   * @returns {Promise} AI回答
   */
  askQuestion(assistantId, questionData) {
    return request.post(`/student/ai/assistants/${assistantId}/ask`, questionData)
  },

  /**
   * 获取与AI助教的聊天历史
   * @param {string} assistantId - 助教ID
   * @returns {Promise} 聊天历史
   */
  getChatHistory(assistantId) {
    return request.get(`/student/ai/assistants/${assistantId}/history`)
  },

  /**
   * 评价AI助教的回答
   * @param {string} responseId - 回答ID
   * @param {Object} feedbackData - 评价数据
   * @returns {Promise} 评价结果
   */
  rateResponse(responseId, feedbackData) {
    return request.post(`/student/ai/responses/${responseId}/feedback`, feedbackData)
  },

  /**
   * 获取AI学习推荐
   * @param {string} studentId - 学生ID
   * @returns {Promise} 学习推荐
   */
  getLearningRecommendations(studentId) {
    return request.get(`/student/ai/recommendations`, {
      params: { studentId }
    })
  },

  /**
   * 获取AI生成的课程内容解释
   * @param {string} contentId - 课程内容ID
   * @returns {Promise} 内容解释
   */
  getContentExplanation(contentId) {
    return request.get(`/student/ai/content/${contentId}/explanation`)
  }
} 